#ifndef AIBOSTATE_H
#define AIBOSTATE_H

#include <QDebug>

class AiboState
{
public:
    AiboState();
    ~AiboState();

    void startForward(float speed);
    void startStrafe(float speed);
    void startTurning(float speed);

    void stopForward();
    void stopStrafe();
    void stopTurning();

	bool isWalkInstructionOn();
    bool isForward();
    bool isStrafe();
    bool isTurning();

	float getForwardSpeed() { return m_forwardSpeed; }
	float getStrafeSpeed() { return m_strafeSpeed; }
	float getTurnSpeed() { return m_turnSpeed; }

    void setRoll(float roll);
    void setPan(float pan);
    void setTilt(float tilt);

	void stopRoll();
	void stopPan();
	void stopTilt();

    float getRoll();
    float getPan();
    float getTilt();

	bool isHeadInstructionOn();
    bool isRolling();
    bool isPanning();
    bool isTilting();

private:
    bool m_forward;
    bool m_strafe;
    bool m_turn;

    float m_forwardSpeed;
    float m_strafeSpeed;
    float m_turnSpeed;

	bool m_roll;
	bool m_pan;
	bool m_tilt;

    float m_rollValue;
    float m_panValue;
    float m_tiltValue;
};

#endif // AIBOSTATE_H
